import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import br.org.nacc.domain.Comissao;
import br.org.nacc.domain.Contato;
import br.org.nacc.domain.GerenciarContato;
import br.org.nacc.domain.GerenciarDados;
import br.org.nacc.domain.GerenciarRecibo;
import br.org.nacc.domain.IGerenciarComissao;
import br.org.nacc.domain.IGerenciarContato;
import br.org.nacc.domain.IGerenciarDados;
import br.org.nacc.domain.IGerenciarOcorrencia;
import br.org.nacc.domain.IGerenciarRecibo;
import br.org.nacc.domain.Ocorrencia;
import br.org.nacc.domain.Pessoa;
import br.org.nacc.domain.TipoOcorrencia;
import br.org.nacc.domain.Contato.StatusContato;


public class Main {
	
	public static void main(String args[]) {
		
		// importar arquivo
		IGerenciarDados gerenciarDados = new GerenciarDados();
		gerenciarDados.importarDados(null);
		
		// criar lista de contatos
		IGerenciarContato gerenciarContato = new GerenciarContato();
		gerenciarContato.criarlistaDeContatos(null);
		
		// filtrar lista por bairro
		gerenciarContato.listarContatosPorBairro("Recife Antigo");
		
		// mudar status contato (doador)
		Contato contato = new Contato();
		contato.setStatusContato(StatusContato.QUER_DOAR);
		List<Contato> contatosDoadores = new ArrayList<Contato>();
		contatosDoadores.add(contato);
		
		// filtrar contatos que querem doar
		gerenciarContato.listarContatosParaDoacao(new Date());
		
		// emitir e dar baixa em recibo
		IGerenciarRecibo recibo = new GerenciarRecibo(contato);
		recibo.emitirRecibo(contatosDoadores);
		recibo.baixarRecibo();
		
		// gerar ocorrencia
		IGerenciarOcorrencia ocorrencia = new Ocorrencia(
				new TipoOcorrencia(), new Pessoa());
		ocorrencia.gerarOcorrencia();
		
		// gerar comissao
		IGerenciarComissao comissao = new Comissao(new Pessoa(), 1000);
		comissao.gerarComissao();
		
	}

}
